package com.lbc.add;

import java.util.concurrent.CountDownLatch;

//  计数器
public class CountDownLatchDemo {
    public static void main(String[] args) throws InterruptedException {
        //  总数是6，必须要执行任务的时候，再使用
        CountDownLatch countDownLatch = new CountDownLatch(6);

        for (int i = 0; i < 6; i++) {
            new Thread(() -> {
                System.out.println(Thread.currentThread().getName()+"Go out!");
                countDownLatch.countDown();  // -1
            }, String.valueOf(i)).start();
        }

        countDownLatch.await();  //  等待计数器归0，主线程被唤醒，然后再向下执行

        System.out.println("Close Door");
    }
}
